import random
import sys
import time

#主页界面
print('+-------------------------------------+')
print('|                                     |')
print('|         花有重开日,人无在少年         |')
print('|                                     |')
print('|                                     |')
print('|            人生重开模拟器            |')
print('|                                     |')
print('+-------------------------------------+')

#输入初始属性
while True:
    print('请设置初始属性(总点数为20)\n')
    face = int(input('输入颜值(1-10):'))
    if face < 1 or face > 10:
        continue
    strong = int(input('输入体质(1-10):'))
    if strong < 1 or strong > 10:
        continue
    iq = int(input('输入智商(1-10):'))
    if iq < 1 or iq > 10:
        continue
    home = int(input('输入家境(1-10):'))
    if strong < 1 or strong > 10:
        continue
    if face + strong + iq + home > 20:
        print('总点数超出20')
        continue
    else:
        break
print('初始属性设置成功！')
print(f'颜值:{face} 体质:{strong} 智商:{iq} 家境:{home}\n')

#性别使用随机数来生成
point = random.randint(1,6)
if point%2 == 1:
    gender = 'boy'
    print('你是一个Boy')
else:
    gender = 'girl'
    print('你是一个Girl')


#根据家境,调整状况
point = random.randint(1,3)
if home == 10:
    #第一档
    print('你出生在帝都,你的父母是高管政要')
    home += 1
    iq += 1
    face += 1
elif 7<= home <=9:
    #第二档
    if point == 1:
        print('你出生在大城市,你的父母是公务员')
        face += 2
    elif point == 2:
        print('你出生在大城市,你的父母是企业高管')
        home += 2
    else:
        print('你出生在大城市,你的父母是大学教授')
        iq += 2
elif 4<= home <=6:
    #第三档
    if point == 1:
        print('你出生在三线城市,你的父母是医生')
        strong += 1
    elif point == 2:
        print('你出生在镇上,你的父母是老师')
        iq += 1
    else:
        print('你出生在镇上,你的父母是个体户')
        home += 1
else:
    if point == 1:
        print('你出生在农村,你的父母是打工人')
        strong -= 1
        iq -= 1
    elif point == 2:
        print('你出生在农村,你的父母是农民')
        strong += 1
        face -= 1
    else:
        print('你出生在农村,你的父母是无业游民')
        strong -= 2
        face -= 2
        iq -= 1
print(f'颜值：{face} 体质:{strong} 智商:{iq} 家境:{home}')
print('---------------------------------------')


#1-20岁
for age in range(1,21):
    info = f'你今年{age}岁'
    point = random.randint(1,3)

    #性别触发的事件
    if gender == 'boy' and home <= 3 and point == 1:
        info += ',你的家里人不喜欢男孩,你被抛弃了！'
        print(info)
        print('游戏结束！')
        sys.exit(0)
    #体质触发的事件
    elif strong < 6 and point < 3:
        info += ',你生了一场病,'
        if home >= 5:
            info += '在父母的悉心照料下,你康复了!'
            strong += 1
            home -=1
        else:
            info += '你的父母没时间照顾你,你的身体情况更加糟糕了!'
            strong -= 1
    #颜值触发的事件
    elif face <= 4 and age >= 7:
        info +=',你长得很丑,别的小朋友不喜欢你,'
        if iq > 5:
            info += '你决定用学习来填充自己！'
            iq += 1
        else:
            if gender == 'boy':
                info += '你经常和别的小朋友打架!'
                strong += 1
                iq -= 1
            else:
                info += '你经常被别的小朋友欺负！'
                strong -= 1
    #智商触发的事件
    elif iq < 5:
        info += ',你看起来傻傻的,'
        if home >= 8 and age >= 6:
            info += '你的父母把你送到更好的学校去学习!'
            iq += 1
        elif 4 <= home <= 7:
            if gender == 'boy':
                info += '你的父母鼓励你多运动,争取以后变好看!'
                strong += 1
                face += 1
            else:
                info += '你的父母鼓励你多打扮自己!'
                face += 1
        else:
            info += '你的父母为此经常吵架!'
            if point == 1:
                strong -= 1
            elif point == 2:
                iq -= 1
            else:
                pass
    #无触发事件
    else:
        info += ',你健康成长,'
        if point == 1:
            strong += 1
            info += '你变得更强壮了！'
        elif point == 2:
            face += 1
            info += '你看起来更好看了！'
        else:
            info += '你又长大一岁！'
    #生病夭折
    if strong < 1:
        info += '\n你的身体健康状况很恶劣,生病而去!'
        print(info)
        print('---------------------------------------')
        sys.exit(0)

    print(info)
    print(f'颜值：{face} 体质:{strong} 智商:{iq} 家境:{home}')
    print('---------------------------------------')
    time.sleep(1)